package com.licq.ldoc.parser.impl;

import java.lang.annotation.Annotation;

import com.licq.ldoc.domain.AbstractNode;
import com.licq.ldoc.domain.Attribute;
import com.licq.ldoc.domain.Element;
import com.licq.ldoc.parser.AnnotationParsee;

/**
 * 
 * @author liujian
 *
 */
public abstract class TargetIgnorableAnnotationParsee extends AnnotationParsee {
	
	protected TargetIgnorableAnnotationParsee(AnnotationParsee successor) {
		super(successor);
	}
	
	@Override
	protected final void doParse(Element element, Annotation annotation) {
		doParseTo(element, annotation);
	}
	
	@Override
	protected final void doParse(Attribute attribute, Annotation annotation) {
		doParseTo(attribute, annotation);
	}
	
	protected abstract void doParseTo(AbstractNode node, Annotation annotation);

}
